package com.suhuamo.stream;

// lambda表达式的基础演示
public class E5 {
    public static void main(String[] args) {
        new Thread(new Runnable() {//接口名称
            @Override
            public void run(){//方法名称
                System.out.println("run");//方法体
            }
        });

        new Thread(() -> System.out.println("run"));

        // 强制要求接口只能有一个抽象方法
        //Interface2 interface21 = new Interface2(){
        //    @Override
        //    public void method2() {
        //    }
        //    @Override
        //    public void method3() {
        //    }
        //};

        //Interface2 interface22 = () -> System.out.println("method2");

        //---------------------------------模拟刚刚演示的匿名内部类

        E5 e2 = new E5();

        Interface1 interface1 = () -> System.out.println("method1");

        e2.e2Method1(interface1);
    }

    void e2Method1(Interface1 interface1) {
        interface1.method1();
    }
}
